﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class area_admin_equipamentos : System.Web.UI.Page
{
    private CONTATO contato = new CONTATO();
    private CONTATOS_CLIENTE contatocliente = new CONTATOS_CLIENTE();
    private dbSisInfoDataContext Banco = new dbSisInfoDataContext();

    protected void Page_Load(object sender, EventArgs e)
    {
        Session["Titulo"] = "Meu Contato";

        if (!Page.IsPostBack)
        {
            ViewState["idCliente"] = 1;

            var dados = from Con in Banco.CONTATOS_CLIENTEs
                        where Con.idCliente == Convert.ToInt32(ViewState["idCliente"])
                        select Con;

            grdContato.DataSource = dados;
            grdContato.DataBind();
        }

    }

    protected void btnIncluir_Click(object sender, EventArgs e)
    {
        if ((ViewState["btn"])!= null && ViewState["btn"].ToString()=="Novo")
        {
           
            // Incluir o contato
            contato.Celular1 = txtClular1.Text;
            contato.Celular2 = txtClular2.Text;
            contato.Email1 = txtEmail1.Text;
            contato.Email2 = txtEmail2.Text;
            contato.TelefoneComercial1 = txtTelCom1.Text;
            contato.TelefoneComercial2 = txtTelCom2.Text;
            contato.TelefoneResidencial1 = txtTelResid1.Text;
            contato.TelefoneResidencial2 = txtTelResid2.Text;

            Banco.CONTATOs.InsertOnSubmit(contato);
            Banco.SubmitChanges();

            // Caputra ultimo registro lançado
            var codcontato = (from C in Banco.CONTATOs
                             where contato.Email1.Contains(txtEmail1.Text)
                             select C.idContato).Max();

            // Vincular o contato ao cliente
            contatocliente.idCliente = Convert.ToInt32(codcontato);
            contatocliente.Ativo = true;
            contatocliente.DataCriacao = DateTime.Now;

            Banco.CONTATOS_CLIENTEs.InsertOnSubmit(contatocliente);
            Banco.SubmitChanges();
        }
        else
        {
            var contatocli = from Con in Banco.CONTATOS_CLIENTEs
                             where Con.idCliente == Convert.ToInt32(grdContato.SelectedDataKey["idCliente"]) && Con.idContato == Convert.ToInt32(grdContato.SelectedDataKey["idContato"])
                             select Con;

            contatocliente = contatocli.ToList<CONTATOS_CLIENTE>()[0];

            // Caputra ultimo registro lançado
            var pcontato = from C in Banco.CONTATOs
                              where contato.idContato == Convert.ToInt32(grdContato.SelectedDataKey["idContato"])
                            select C;

            contato = pcontato.ToList<CONTATO>()[0];

            // Incluir o contato
            contato.Celular1 = txtClular1.Text;
            contato.Celular2 = txtClular2.Text;
            contato.Email1 = txtEmail1.Text;
            contato.Email2 = txtEmail2.Text;
            contato.TelefoneComercial1 = txtTelCom1.Text;
            contato.TelefoneComercial2 = txtTelCom2.Text;
            contato.TelefoneResidencial1 = txtTelResid1.Text;
            contato.TelefoneResidencial2 = txtTelResid2.Text;

            Banco.CONTATOs.InsertOnSubmit(contato);
            Banco.SubmitChanges();

          
            // Vincular o contato ao cliente
            contatocliente.idCliente = contato.idContato;
            contatocliente.Ativo = true;
            contatocliente.DataCriacao = DateTime.Now;

            Banco.CONTATOS_CLIENTEs.InsertOnSubmit(contatocliente);
            Banco.SubmitChanges();

        }
    }


   
    protected void btnSim0_Click(object sender, EventArgs e)
    {

        grdContato.DeleteRow(grdContato.SelectedIndex);
        grdContato.DataBind();
    }
    protected void grdEquipamentos_DataBound(object sender, EventArgs e)
    {
        if (grdContato.Rows.Count > 0)
        {
            grdContato.HeaderRow.Cells[0].Text += " - Quantidade de items: " + grdContato.Rows.Count.ToString();
        }
    }
    protected void grdEquipamentos_RowEditing(object sender, GridViewEditEventArgs e)
    {

    }
    protected void btnNovo_Click(object sender, EventArgs e)
    {
      /*  pnlInserirContato.Visible = true;
        txtTelResid1.Text = txtDescricao.Text;
        txtTelResid1.Focus();*/
    }
    protected void btnCancela_Click(object sender, EventArgs e)
    {
        pnlInserirContato.Visible = false;

        //Limpar os campos
        txtTelResid1.Text = string.Empty;
      
    }


    protected void grdSituacoes_SelectedIndexChanged(object sender, EventArgs e)
    {
        var dados = from Con in Banco.CONTATOs
                    where Con.idContato == Convert.ToInt32(grdContato.SelectedDataKey["idContato"])
                    select Con;

        contato = dados.ToList<CONTATO>()[0];

        txtEmail1.Text = contato.Email1;
        txtEmail2.Text = contato.Email2;
        txtTelCom1.Text = contato.TelefoneComercial1;
        txtTelCom2.Text = contato.TelefoneComercial2;
        txtTelResid1.Text = contato.TelefoneResidencial1;
        txtTelResid2.Text = contato.TelefoneResidencial2;
        txtClular1.Text = contato.Celular1;
        txtClular2.Text = contato.Celular2;

        txtEmail1.Focus();
    }

    protected void btNovo_Click(object sender, EventArgs e)
    {
        // Limpar campos
        ViewState["btn"] = "Novo";


        txtEmail1.Text = "";
        txtEmail2.Text = "";
        txtTelCom1.Text = "";
        txtTelCom2.Text = "";
        txtTelResid1.Text = "";
        txtTelResid2.Text = "";
        txtClular1.Text = "";
        txtClular2.Text = "";

        txtEmail1.Focus();
    }
}
